package com.njtoyo.taxi.admin.rest.presenter.business.driver;

import com.njtoyo.taxi.admin.mapper.master.entity.DriverExtraInformation;
import com.njtoyo.taxi.admin.mapper.master.enums.DriverAcceptCallCtg;
import com.njtoyo.taxi.admin.mapper.master.enums.MemberLevel;
import com.njtoyo.taxi.admin.mapper.master.enums.MemberState;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
@ApiModel(value = "司机详情模型")
public class DriverDetailsPresenter {
    @ApiModelProperty(value = "司机ID")
    private Long id;

    @ApiModelProperty(value = "姓名")
    private String name;

    @ApiModelProperty(value = "手机号码")
    private String mobileNumber;

    @ApiModelProperty(value = "评价分数")
    private BigDecimal markScore;

    @ApiModelProperty(value = "行政区id")
    private Long cantonId;
    @ApiModelProperty(value = "行政区名称")
    private String cantonName;

    @ApiModelProperty(value = "司机运营区id")
    private Long driverRegionId;

    @ApiModelProperty(value = "司机运营区")
    private String driverRegionName;

    @ApiModelProperty(value = "公司名称")
    private String companyName;

    @ApiModelProperty(value = "车辆ID")
    private Long taxiId;
    @ApiModelProperty(value = "车牌号")
    private String taxiPlatNumber;

    @ApiModelProperty(value = "听单类型：0.all；1.onlyRealtime；2.onlyAppointment")
    private DriverAcceptCallCtg acceptCallCtg;

    @ApiModelProperty(value = "实时单听单范围")
    private BigDecimal realtimeCallDistanceRange;

    @ApiModelProperty(value = "是否自动抢单（仅实时单可用）")
    private Boolean isAutomatic;

    @ApiModelProperty(value = "自动抢单范围")
    private BigDecimal automaticOrderRange;

    @ApiModelProperty(value = "是否封号")
    private Boolean isActive;

    @ApiModelProperty(value = "是否在在线中")
    private Boolean inService;

    @ApiModelProperty(value = "是否已离职：0:未离职，1:已离职")
    private Boolean isLeave;

    @ApiModelProperty(value = "设备信息")
    private String deviceInfo;

    @ApiModelProperty(value = "注册时间")
    private Date createdAt;

    @ApiModelProperty(value = "最后更新时间")
    private Date updatedAt;

    @ApiModelProperty(value = "状态:0:inactive(未激活),1:active(激活),2:freeze_up(冻结)")
    private MemberState state;

    @ApiModelProperty(value = "会员等级")
    private MemberLevel memberLevel;

    @ApiModelProperty(value = "总积分")
    private Long point;

    @ApiModelProperty(value = "有效积分")
    private Long validPoint;

    private Boolean loginOnce;
    private String vehicleLicenceNumber;
    private String identityNumber;
    private String qualificationCertificateNumber;
    private DriverExtraInformation extraInfo;
    private String gpsTime;
    private String banReason;
}
